#pragma once
#ifndef RH_ITRANSFORMABLE_H
#define RH_ITRANSFORMABLE_H
#include "SFML\System\Vector2.hpp"
#include "SFML\Graphics\Color.hpp"

namespace rh 
{
	class ITransformable
	{
	protected:
		//sf::Vector2f _position;
		//sf::Vector2f _scale;
		//float _rotation;
		float _zDepth;

	public:
		ITransformable(void);
		virtual ~ITransformable(void);

		virtual void setPosition(const sf::Vector2f& position) = 0;
		virtual void setScale(const sf::Vector2f& scale) = 0;
		virtual void setRotation(float rotation) = 0;
		virtual void setColor(sf::Color) = 0;
		virtual void setDepth(float zDepth);

		virtual const sf::Vector2f getPosition(void) = 0;
		virtual const sf::Vector2f getScale(void) = 0;
		virtual const float getRotation(void) = 0;
		virtual const sf::Color getColor(void) = 0;
		virtual const float getDepth(void);
		
	};
}

#endif